Optimizing a CORBA Inter-ORB Protocol (IIOP) Engine for Minimal Footprint Embedded Multimedia Systems
نویسندگان
چکیده
To support the quality of service (QoS) requirements of embedded multimedia applications, such as real-time audio and video, electronic mail and fax, and Internet telephony, off-theshelf middleware like CORBA must be flexible, efficient, and predictable. Moreover, stringent memory constraints imposed by embedded system hardware necessitates a minimal footprint for middleware that supports multimedia applications. This paper provides three contributions towards developing efficient ORB middleware to support embedded multimedia applications. First, we describe the optimization principle patterns used to develop a timeand space-efficient CORBA Inter-ORB Protocol (IIOP) interpreter for TAO, which is our high-performance, real-time ORB. Second, we describe the optimizations applied to TAO’s IDL compiler to generate efficient and small stubs/skeletons used in TAO’s IIOP protocol engine. Third, we empirically compare the performance and memory footprint of interpretive (de)marshaling versus compiled (de)marshaling for a wide range of IDL data types. Applying our optimization principle patterns to TAO’s IIOP protocol engine improved its interpretive (de)marshaling performance to the point where it is now comparable to the performance of compiled (de)marshaling. Moreover, our IDL compiler optimizations generate interpreted stubs/skeletons whose footprint is substantially smaller than compiled stubs/skeletons. Our results illustrate that careful application of optimization principle patterns can yield both timeand space-efficient standards-based middleware.
منابع مشابه
Optimizing a CORBA IIOP Protocol Engine for Minimal Footprint Multimedia Systems
Communication software for hand-held devices must be flexible and efficient to deliver the necessary Quality of Service (QoS) to multimedia applications such as real-time audio and video, video on-demand, electronic mail and fax, and Internet telephony. CORBA Object Request Brokers (ORBs) are an emerging middleware standard targeted for distributed applications. The stringent memory constraints...
متن کاملReviewer Comments and Author Responses: Optimizing a CORBA Inter-ORB Protocol (IIOP) Engine for Minimal Footprint Embedded Multimedia Systems
Our response We have renamed “Optimization Principles” to “Optimization Principle Patterns”. By identifying them as patterns, we reinforce the fact that these are common solutions used to solve recurring performance problems in the context of protocols and middleware. In addition, our related work section provides detailed citations on where these optimization principle patterns have been appli...
متن کاملOptimizing the Performance of the CORBA Internet Inter-ORB Protocol Over ATM
The Internet Inter-ORB Protocol (IIOP) enables heterogeneous CORBA-compliant Object Request Brokers (ORBs) to interoperate over TCP/IP networks. The IIOP uses the Common Data Representation (CDR) transfer syntax to map CORBA Interface Definition Langauge (IDL) data types into a bi-canonical wire format. Due to the excessive marshaling/demarshaling overhead, data copying, and high-levels of func...
متن کاملPrinciples for Optimizing CORBA Internet Inter-ORB Protocol Performance
The Internet Inter-ORB Protocol (IIOP) enables heterogeneous CORBA-compliant Object Request Brokers (ORBs) to interoperate over TCP/IP networks. IIOP uses the Common Data Representation (CDR) transfer syntax to map OMG Interface Definition Language (IDL) data types into a portable network format. Due to the excessive marshaling/demarshaling overhead, data copying, and high-levels of function ca...
متن کاملDesign Principles and Optimizations for High Performance ORBs
The Internet Inter-ORB Protocol (IIOP) enables heterogeneous CORBA-compliant Object Request Brokers (ORBs) to interoperate over TCP/IP networks. The IIOP uses the Common Data Representation transfer syntax to map CORBA Interface Definition Language (IDL) data types into a portable network format. Due to the excessive marshaling/demarshaling overhead, data copying, and high-levels of function ca...
متن کامل